package cn.xuqiudong.rpc.spring.annotation;

import org.springframework.beans.factory.annotation.Autowired;
import cn.xuqiudong.rpc.spring.provider.XqdSpringProviderBeanProcessor;

import java.lang.annotation.*;

/**
 * 描述: 在被spring扫描的bean中如某个属性被标注为 @XqdReference，为其其动态生成代理类，注册到spring，然后由于此注解被标注为Autowired，最终属性被spring注入
 * @see XqdSpringProviderBeanProcessor#postProcessAfterInitialization(Object, String)
 * @author Vic.xu
 * @date 2022-02-28
 */
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@Autowired
public @interface XqdReference {

}
